1. Field of the Invention
The present invention relates to software systems for providing the display and access to software objects in a computer system.
2. State of the Art
Typically, in a computer system, the files which are available for selection by different applications are displayed in a hierarchical manner. The display is part of a user interface on the file management system of the computer system. The user can select a file to be opened by clicking on a representation of the file, or performing a related operation which issues a command to open the file.
A difficulty occurs when different types of software objects are accessible. In the past, the user interface has been designed with certain, sometimes hidden, expectations of the software objects to be accessed. Most file access systems assume that the software objects are based on a single model. Typically, the local file system forms the basis for this model, since files are the most common types of software objects. When a new type of software object is introduced, it is often forced into this file system model. Some types of software objects, however, do not have a good conceptual fit with the file system model. For example, in file systems, small portions of the file can be independently accessed and modified. This type of access is not possible for some other types of software objects, such as database objects, or web pages on the Internet. For these objects, the entire software object is replaced when a change is to be made.
As another example of the differences between types of software objects, file systems are typically based upon containment relationships, where one object can have child, or dependent objects, as well as parent objects. This type of relationship may not apply to other types of objects, such as database records, or web pages, since they are not inherently hierarchical.
In the past, when a new type of software object is introduced, either the user interface software is modified to recognize and handle the new type of software object, or the new type of software object is forced into an existing model, such as the file system model. Because of hidden links between the file system model and the user interface software, modifying the, interface to add a new object type can be difficult.
It is desired to have an improved system of displaying and accessing software objects that avoid some of the problems of the prior art, and facilitate access to a variety of different types of software objects.
In accordance with the present invention, an adaptation layer is used to isolate a presentation layer of a user interface from the details of accessing the software objects. For each object to be displayed, a standard set of information is transferred to the presentation layer from the adaptation layer. This information, in one embodiment, includes the type of object (e.g. file, web page, etc.) the name and/or icon of the software object, and an indication of the presence of children objects of the software object. This data is provided by the adaptation layer which can call different access units for the different types of software objects. Thus, if there are three different types of software objects, there will be three different access software units called by the adaptation layer to get the appropriate information about the software object. Each of the access units can obtain a standard set of information from the respective types of software objects in vastly different manners. In a preferred embodiment, the amount of data required to be transferred from the adaptation layer to the presentation layer is relatively minimal. Optional information can also be transferred, including, but not limited to, the date and time of the last modification, and the object size.
An advantage of the present invention is that new types of software objects can be added without requiring modifications to the presentation layer. The presentation layer can display representations of software objects having vastly different software object types. For example, web pages, databases, file transfer protocol (FTP) objects, and regular file types can be displayed in the same hierarchical structure.
Another embodiment of the present invention concerns a hierarchical display which allows for the selection of software objects having different heterogeneous types. In one embodiment, such a system is made possible by the use of the adaptation layer. Representations of software objects of different types can be shown in the same display, and viewed and selected by the user. The selection of representations in the hierarchical display call access units to access the software objects. The presentation layer is not burdened with figuring out how to access the different software objets. The presentation layer merely sends an xe2x80x9copen software objectxe2x80x9d signal to the different access units which can access the software objects in their own manner.
The software objects can be from a variety of different sources and repositories. These different repositories can contain heterogeneous types of objects, which would previously have been considered to be incompatible. For A example, the software objects can include file objects, database objects, FTP objects, or internet web objects.